package noname;

/**
 * 匿名对象(无名对象)
 * 格式: new 类名(参数);//无名代表的没有引用变量名
 * 使用场景:匿名对象主要用在方法传参,并且只使用一次
 */
public class Demo01 {
    public static void main(String[] args) {
        //创建对象使用空参构造
        Animal a = new Animal();
        a.name = "小红";
        System.out.println(a.name);

        //创建对象使用有参构造
        Animal a2 = new Animal("小黑");
        System.out.println(a2.name);

        //匿名对象使用空参构造
        new Animal().name="大灰狼";//对第一个animal对象中的name赋值为大灰狼
        System.out.println(new Animal().name);//null //取的是第二个Animal对象中的name值,打印的是默认值

        //匿名对象使用有参构造
        new Animal("小白兔");//"小白兔"给了第一个对象中的name
        System.out.println(new Animal("小白兔").name);//"小白兔"给了第二个对象中的name,取出name的值也是小白兔
    }
}
